home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.interpreter.context;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.Iterator;
- import java.util.List;
- import koala.dynamicjava.interpreter.TreeClassLoader;
- import koala.dynamicjava.parser.wrapper.ParserFactory;
- import koala.dynamicjava.parser.wrapper.SourceCodeParser;
- import koala.dynamicjava.tree.Node;
- import koala.dynamicjava.tree.TypeDeclaration;
- import koala.dynamicjava.util.ImportationManager;
- import koala.dynamicjava.util.LibraryFinder;
-
- public class GlobalContext$PseudoClassLoader extends ClassLoader {
- // $FF: synthetic field
- private final GlobalContext this$0;
-
- protected Class findClass(String var1) throws ClassNotFoundException {
- try {
- if (this.this$0.getAdditionalClassLoader() != null) {
- return Class.forName(var1, true, this.this$0.getAdditionalClassLoader());
- }
- } catch (ClassNotFoundException var15) {
- }
-
- ClassLoader var2 = this.this$0.classLoader == null ? this.this$0.interpreter.getClassLoader() : this.this$0.classLoader;
- if (var2 instanceof TreeClassLoader && ((TreeClassLoader)var2).hasDefined(var1)) {
- GlobalContext.PseudoError var28 = new GlobalContext.PseudoError;
- GlobalContext var34 = this.this$0;
- if (var34 == null) {
- throw null;
- } else {
- var28.<init>(var34);
- throw var28;
- }
- } else {
- TreeClassLoader var3 = (TreeClassLoader)this.this$0.interpreter.getClassLoader();
- TypeDeclaration var4 = var3.getTree(var1);
- if (var4 != null) {
- ImportationManager var5 = (ImportationManager)var4.getProperty("importationManager");
- GlobalContext.CompilationUnitVisitor var10000 = new GlobalContext.CompilationUnitVisitor;
- GlobalContext var10002 = this.this$0;
- if (var10002 == null) {
- throw null;
- }
-
- var10000.<init>(var10002, var1, var5);
- GlobalContext.CompilationUnitVisitor var6 = var10000;
- if (var4.acceptVisitor(var6).equals(Boolean.TRUE)) {
- GlobalContext.PseudoError var27 = new GlobalContext.PseudoError;
- var10002 = this.this$0;
- if (var10002 == null) {
- throw null;
- }
-
- var27.<init>(var10002);
- throw var27;
- }
- }
-
- LibraryFinder var18 = this.this$0.interpreter.getLibraryFinder();
-
- try {
- String var19 = var18.findCompilationUnitName(var1);
- var4 = var3.getTree(var19);
- if (var4 != null) {
- ImportationManager var7 = (ImportationManager)var4.getProperty("importationManager");
- GlobalContext.CompilationUnitVisitor var23 = new GlobalContext.CompilationUnitVisitor;
- GlobalContext var29 = this.this$0;
- if (var29 == null) {
- throw null;
- }
-
- var23.<init>(var29, var1, var7);
- GlobalContext.CompilationUnitVisitor var8 = var23;
- if (var4.acceptVisitor(var8).equals(Boolean.TRUE)) {
- GlobalContext.PseudoError var26 = new GlobalContext.PseudoError;
- var29 = this.this$0;
- if (var29 == null) {
- throw null;
- }
-
- var26.<init>(var29);
- throw var26;
- }
- }
- } catch (ClassNotFoundException var14) {
- }
-
- try {
- File var20 = var18.findCompilationUnit(var1);
- FileInputStream var21 = new FileInputStream(var20);
- ParserFactory var22 = this.this$0.interpreter.getParserFactory();
- SourceCodeParser var9 = var22.createParser(var21, var20.getCanonicalPath());
- List var10 = var9.parseCompilationUnit();
- Iterator var11 = var10.iterator();
- GlobalContext.CompilationUnitVisitor var24 = new GlobalContext.CompilationUnitVisitor;
- GlobalContext var30 = this.this$0;
- if (var30 == null) {
- throw null;
- }
-
- var24.<init>(var30, var1);
- GlobalContext.CompilationUnitVisitor var12 = var24;
- boolean var13 = false;
-
- while(var11.hasNext()) {
- if (Boolean.TRUE.equals(((Node)var11.next()).acceptVisitor(var12))) {
- var13 = true;
- }
- }
-
- if (var13) {
- GlobalContext.PseudoError var25 = new GlobalContext.PseudoError;
- var30 = this.this$0;
- if (var30 == null) {
- throw null;
- }
-
- var25.<init>(var30);
- throw var25;
- }
- } catch (IOException var16) {
- }
-
- throw new ClassNotFoundException(var1);
- }
- }
-
- GlobalContext$PseudoClassLoader(GlobalContext var1) {
- this.this$0 = var1;
- }
- }
-